/**
 * Copyright © 2024 北京迅安网络系统有限责任公司 Co., Ltd. All rights reserved.
 */

#ifndef I_OSID_MANAGER_H
#define I_OSID_MANAGER_H

#include "iremote_broker.h"
#include <string>

namespace OHOS {
namespace OSID {
namespace osidService {

constexpr int OSID_SERVICE_ID = 9996; // 定义服务ID

class IOsidManager : public OHOS::IRemoteBroker {
public:
    DECLARE_INTERFACE_DESCRIPTOR(u"osid.IOsidManager");

    enum {
        CMD_MIN = 10000,
        CMD_VERIFY_APK = CMD_MIN + 7,
        CMD_CURL_TEST = CMD_MIN + 8,
        CMD_GET_PMS_ACTIVE_STATE = CMD_MIN + 9,
        CMD_GET_DEVICE_OSID = CMD_MIN + 10,
        CMD_GET_DEVICE_PMSID = CMD_MIN + 11,
        CMD_CHECK_OSID = CMD_MIN + 12,
        CMD_CHECK_PMSID = CMD_MIN + 13,
        CMD_GET_REAL_CERT = CMD_MIN + 14
    };

    virtual bool VerifyApk(std::string path) = 0;
    virtual std::string CurlTest() = 0;
    virtual bool friGetPmsActiveState() = 0;
    virtual std::string friGetDeviceOSID() = 0;
    virtual std::string friGetDevicePMSID() = 0;
    virtual bool friCheckOSID(std::string checkOSID) = 0;
    virtual bool friCheckPMSID(std::string checkPMSID) = 0;
    virtual std::string friGetRealCert() = 0;
};
} // namespace osidService
} // namespace OSID
} // namespace OHOS

#endif